#ifndef _TEXTURE_H_
#define _TEXTURE_H_

class CFile;

class CTexture
{
private:
	GXTexFmt m_texFmt;
    GXTexGen m_texGen;
    GXTexSizeS m_texS;
    GXTexSizeT m_texT;
    GXTexRepeat m_texRepeat;
    GXTexFlip m_texFlip;
    GXTexPlttColor0 m_texPltt0;
    u32 m_texAddr;
    u32 m_palAddr;
    
    void* m_texData;
    void* m_palData;
    
    u32 m_texSize;
    u32 m_palSize;
    
    u32 m_texBank;
    u32 m_palBank;
  
	CTexture();
protected:
public:
	~CTexture();

	static CTexture* load(CFile *file);
	void build3D();
	void release3D();
	void use();
};

#endif //_TEXTURE_H_